package mote;

/**
 * MoteInterface defines an interface to the mote
 * @author Khalid Alhokail, Vineet Gupta, Oren Melzer, David Schneider
 *
 */
public interface MoteInterface {
	
	/**
	 * Sets the LEDs of the given mote
	 * @param moteId	The mote to set the LEDs
	 * @param values	A byte that represents the LED values
	 * <br>	1 for LED 0.
	 * <br>	2 for LED 1.
	 * <br> 4 for LED 2.
	 * <br>For example, 7 is all on, and 0 is all off. 
	 * @return		If the LEDs appear to be successfully set.
	 */
	public boolean setLEDs(int moteId, byte values);
	
	/**
	 * Sets the sampling interval of the motes. This will do nothing in the 
	 * mote simulator.
	 * @param twentiethsOfASecond	How many twentieths of a second to wait 
	 * 								between transmitting the light readings. 
	 * @return		If the sampling interval appears to have been changed.
	 */
	public boolean setSamplingInterval(int moteId, int twentiethsOfASecond);
}
